#include "Module.h"
#include "IVisitor.h"

Module::Module(const StmtTypeList& body, int nodeId):
    modType(nodeId),
    _body(body)
{
}
    
Module::~Module()
{
    _body.clear();
}
    
QString Module::type() const
{
    return "Module";
}
    

StmtTypeList Module::body()
{
    return _body;
}

void Module::setBody(const StmtTypeList& body)
{
    _body = body;
}

    
QString Module::toString() const
{
    return QString("Module[body=%1]").
                arg(_body.toString());
}
    
void Module::accept(IVisitor* visitor, const SimpleNodePtr& node)
{
    visitor->visitModule(node.dynamicCast<Module>());
}
    
void Module::traverse(IVisitor* visitor)
{
    _body.traverse(visitor);
}